草庐IT

PostgreSQL 查找替换函数

全部标签

ruby-on-rails - 使用 PostgreSQL 适配器限制 ActiveRecord 迁移 5.0 中的文本列

我的迁移看起来像这样classCreateQuestionings现在,当我运行$rakedb:migrate:reset时,在我的db/schema.rb中看不到限制:create_table"questionings",force::cascadedo|t|t.text"body",null:falseend我做错了吗还是这是一个错误?顺便说一下,我使用的是rails5.0.0.beta3和ruby​​2.3.0p0。 最佳答案 t.text在PostgreSQL和textdoesn'tallowforsizelimits中生成

ruby - 用 Ruby 替换运行时实现

Ruby中的依赖注入(inject)框架几乎已被宣布为不必要。贾米斯·巴克(JamisBuck)去年在他的LEGOs,Play-Doh,andProgramming中写到了这一点。博文。普遍接受的替代方案似乎是使用某种程度的构造函数注入(inject),但只是提供默认值。classAendclassBdefinitialize(options={})@client_impl=options[:client]||Aenddefnew_client@client_impl.newendend这种方法对我来说很好,但它似乎缺少更传统设置的一件事:一种在运行时基于某些外部开关替换实现的方法。例

ruby-on-rails - 在 Rails 中实现查找表

我目前正在使用(或试图使用)查找表来表示包含枚举字符串的列。我与我的团队进行了广泛的讨论,以确保这是我们想要走的方向,并决定继续它,但不幸的是,我们都不知道如何使用迁移将查找表绑定(bind)到列,以及是否有更改在模型/Controller/View中制作以支持这种新行为。我已经在谷歌上进行了大量搜索,但没有找到这样做的好例子,所以我希望有人可以告诉我一个很好的链接,指向我在搜索中错过的教程,或者描述如何做到这一点。我也很想知道是否有用于此的非官方(或官方)Railsy模式。提前致谢。 最佳答案 如果您正在寻找一种无需创建单独表即可

ruby - 用字符串中的撇号替换单引号 (Ruby)

我的用户有时输入的不是撇号('),而是看起来像撇号(‘)的符号,这会导致数据库出现一些问题。我试着用gsub替换它们,如下所示:result.gsub(/\‘/,"'")result.gsub(/‘/,"'")这些选项都不起作用-出现错误:syntaxerror,unexpected$end,expecting')'returnresult.gsub(/\‘/,"'").gsub("’","'")^它们是Ruby保留的吗?我该如何替换它们? 最佳答案 如果您的文本编辑器不直接支持像‘这样的UTF-8字符,您可以通过这种方式转义它们:

ruby - pg: exec_params 不替换参数?

第一次使用pggem访问postgres数据库。我已成功连接并可以使用#exec运行查询,但现在使用#exec_params构建一个简单的查询似乎没有替换参数。即:get'/databases/:db/tables/:table'do|db_name,table_name|conn=connect(db_name)query_result=conn.exec_params("SELECT*FROM$1;",[table_name])end结果为#这似乎是一个非常简单的示例-我是否从根本上误解了如何使用此方法? 最佳答案 您可以将占位

ruby - 是否有可能缩小 ruby 常量查找

我有一个模块,其中包含名为String的类(以及其他类。)我需要按名称查找该类,如果没有这样的类,则优雅地回退。moduleMod1moduleStringendendMod1.const_get'String'#⇒Mod1::StringKernel.const_get'::Mod1::String'#⇒Mod1::String到目前为止,还不错。当我尝试查找不存在的类时,我预计会收到NameError,这很好。问题是如果在全局命名空间中存在一个具有给定名称的类,它将被返回:Mod1.const_get'Fixnum'#⇒Fixnum我明白其中的原因,但我的问题是:是否有现成的方法仅

Ruby 正则表达式 - 用文本中间的空格替换点

我有一个很长的文本,我想用空格替换其中的点,但只能在文本的中间。例如:Domain:...................google.com我需要这样:Domain:google.com我发现了这个用单个空格替换点的正则表达式:str.gsub!(/(?但这还不够,因为它会产生:Domain:google.com我需要保留与点一样多的空格。你会如何解决? 最佳答案 你快到了,你的正则表达式没问题,只需使用String#gsub的block版本计算替换匹配的长度:▶str='Domain:...................goo

ruby - 如何在 postgresql 中创建多列推荐引擎?

我在postgresql中有一个表,其中包含一些汽车+1000000条记录:+----+--------+------+---------+-----------+-------------+------------+------------+|id|price|year|mileage|fuel_type|body_type|brand|model|+----+--------+------+---------+-----------+-------------+------------+------------+|1|4894|2011|121842|"Benzin"|"Sedan

Ruby - 可以将 block 作为参数作为实际 block 传递给另一个函数吗?

这就是我想要做的:defcall_block(in_class="String",&block)instance=eval("#{in_class}.new")puts"instanceclass:#{instance.class}"instance.instance_eval{block.call}end#---TESTEXAMPLE---#Thisoutputs"class:String"everytime"sdlkfj".instance_eval{puts"class:#{self.class}"}#Thiswillonlyoutput"class:Object"everyti

关于如何为 PostgreSQL 编写存储过程的 Ruby 教程?

听说PostgreSQL的可以用Ruby写存储过程但我一直没能找到更多关于它的信息,教人们如何实际去做。有人可以为此推荐好的资源。谢谢 最佳答案 显然,您需要安装PL/Ruby。之后,你可以写:CREATEFUNCTIONruby_max(int4,int4)RETURNSint4AS'ifargs[0].to_i>args[1].to_ireturnargs[0]elsereturnargs[1]end'LANGUAGE'plruby';查看其GitHubrepository安装说明。